Skip to content

Add re-export of rethrowSTM - #100

Draft
jeltsch wants to merge 1 commit into
haskell:masterfrom
jeltsch:wip/jeltsch/rethrow-stm-re-export
Draft

Add re-export of rethrowSTM#100
jeltsch wants to merge 1 commit into
haskell:masterfrom
jeltsch:wip/jeltsch/rethrow-stm-re-export

Conversation

@jeltsch

@jeltsch jeltsch commented Aug 11, 2026

Copy link
Copy Markdown

GHC merge request !16501 adds rethrowSTM, an STM analog of rethrowIO. This pull request adds a re-export of rethrowSTM by Control.Monad.STM.

@jeltsch
jeltsch marked this pull request as draft August 11, 2026 17:59
@MangoIV

MangoIV commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Hi Wolfgang. Thanks for opening this MR. Do you intend for this to get merged before upstream, i.e. is it necessary this lands before the GHC MR lands?

@jeltsch

jeltsch commented Aug 12, 2026

Copy link
Copy Markdown
Author

Well, this re-export only works with rethrowSTM having been added to ghc-internal; so GHC !16501 should be adopted before this change to stm is adopted.

@jeltsch

jeltsch commented Aug 12, 2026

Copy link
Copy Markdown
Author

By the way, there is CLC proposal #436, which deals with the addition of rethrowSTM.

@MangoIV

MangoIV commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

should be adopted before this change to stm is adopted.

I was asking because obviously CI with upstream GHC is currently failing but if you had needed to bump the submodule upstream with the new version of STM then that obviously creates a cycle. Since the CI against upstream is new I think I would have had to come up with a solution here but if you say this can be merged after upstream, then all is good.

@MangoIV

MangoIV commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

After your MR against GHC has landed, we'll wait until it appears in nightly, then build this branch against the bindist that has this and then merge.

I assume you have an okay from upstream for this to be backported to 10.0?

@jeltsch

jeltsch commented Aug 12, 2026

Copy link
Copy Markdown
Author

should be adopted before this change to stm is adopted.

I was asking because obviously CI with upstream GHC is currently failing but if you had needed to bump the submodule upstream with the new version of STM then that obviously creates a cycle. Since the CI against upstream is new I think I would have had to come up with a solution here but if you say this can be merged after upstream, then all is good.

Yes, also with !16501, nothing in GHC, ghc-internal, or base needs this change to stm, as !16501 simply provides rethrowSTM. So there is no cycle here.

@jeltsch

jeltsch commented Aug 12, 2026

Copy link
Copy Markdown
Author

I assume you have an okay from upstream for this to be backported to 10.0?

Aargh, I forgot that 10.0 is already in the freezer. I guess I should get such a backport permission then. Where and how do I have to apply for it?

@MangoIV

MangoIV commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Where and how do I have to apply for it?

Zubin is the release manager, I pinged him on your upstream MR.

@jeltsch

jeltsch commented Aug 12, 2026

Copy link
Copy Markdown
Author

As we just discussed in more hidden channels, the corresponding GHC contribution will not be backported for GHC 10.0. 🙂

@jeltsch
jeltsch force-pushed the wip/jeltsch/rethrow-stm-re-export branch from 15b9589 to a6a56cc Compare August 12, 2026 13:45
@jeltsch

jeltsch commented Aug 12, 2026

Copy link
Copy Markdown
Author

When I generate stm documentation from within the GHC source tree, all the re-exported entities in Control.Monad.STM lack their documentation. I’ve tried generating stm documentation with Cabal, but this complains about test-framework-hunit missing, although this package is available and although I only want to build documentation, not test. Could you please advise how I could check whether documentation generation via Cabal works and preferable also why GHC’s documentation generation does not work and what to do about this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants